package red.stu.pconstraint.annotation;

import java.lang.annotation.*;

/**
 *  流程模版 <br/>
 *      - 被注解的类必须实现{@link red.stu.pconstraint.ProcessStorage 接口} <br/>
 *
 *      - 可通过{@FileResource 注解}放在同类上，用于指定Mapper文件。也可通过配置文件自动扫描Mapper文件<br/>
 *
 * @author yihrmc @stu.red
 * @date 2019/11/14 14:01
 * @see red.stu.pconstraint.ProcessStorage
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ProcessConstraint {

    @AliasFor("resource")
    FileResource value() default @FileResource;

    /**
     * 指定流程模版的Mapper资源<br/>
     *      - 可空，可通过配置文件自动扫描资源
     * @return
     */
    @AliasFor("value")
    FileResource resource() default @FileResource;

}
